package com.feidee.data.report.service;

import com.feidee.data.report.model.*;
import com.feidee.data.report.model.Dependency.DependencyModel;

import java.util.List;
import java.util.concurrent.Future;


public interface DataReporterService {
    public int execute(ReportParam queryModel) throws Exception;

    public Future<?> customReportOpr(CustomReportModel crm);

    public String crmPublishOpr(CustomReportModel crpm);

    public String buildResultTbl(BuildResultTblModel brtm);

    public String offlineReportKey(String reportKey);

    /**
     * 更新报表配置
     *
     * @param reportConfigParam
     * @return
     */
    String updateReportConfig(ReportConfigParam reportConfigParam);

    String updateDataResources(DataResourcesModel dataResourcesModel);

    void rerunDataResourcesReport(DataResourcesModel dataResourcesModel);

    boolean verifyDataResourcesDependency(CustomReportModel data);

    void getDataResourcesAndReportDependency(String reportKey, DependencyModel result);

    List<String> getResourcesDependencyReport(String reportKey);

    void fix();

    public Boolean updatePeriod(CustomReportModel CustomReportModel);

    List<String>  getReportOfDownDependency(String reportKey);

}
